package com.study;

import java.lang.reflect.Constructor;

/*
* 获取构造方法
* */
public class Demo3 {
    public static void main(String[] args) {
        try {
            Class<?> aClass = Class.forName("com.study.Student");

            // 获取无参构造方法并实例化一个对象出来。
            Constructor<?> constructor1 = aClass.getConstructor();
            Student o1 = (Student) constructor1.newInstance();
            // 获取有参构造方法并实例化一个对象出来。
            Constructor<?> constructor2 = aClass.getConstructor(String.class, Integer.class);
            Object o2 = constructor2.newInstance("xxx",30);
            System.out.println(o2);
            // 获取所有的构造方法。
            Constructor<?>[] constructors = aClass.getConstructors();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
